#include <iostream>
#include <pthread.h>
#include <signal.h> 
#include <unistd.h>
#include <dirent.h>


using namespace std; 

pthread_t t1; 
pthread_t t2; 
void* print_msg(void * s){
	/*
	pthread_t t = pthread_self();
	cout << t << endl;
	*/
	for(int i=0; i<10; i++){
		cout << (char*)s << endl; 
	
	}
}
void* count(void* c){
	int *b  = (int*)c;
	*b = *b + 1;
	
	pthread_exit(c);
}

struct sigaction sig; 
struct testMyclass {

public:
	int a; 
	int b;
};

struct myTest2{
	int a; 
	int b; 
};
class myTest{
	int a; 
	int b; 
}

int main(){
	/*
	pthread_mutex_t mutex; 
	pthread_mutex_lock(&mutex);
	pthread_t t = pthread_self();
	cout << t << endl;
	*/
	/*
	pthread_mutex_unlock(&mutex);
	pthread_create(&t1,NULL,print_msg,(void*)"hello"); 
	pthread_create(&t2,NULL,print_msg,(void*)"world");
	*/
	testMyclass myclass; 
	struct dirent dir; 
	std::vector<int> vInt; 
	vInt.push_back(1);
	vInt.pop_back(1);
	
	
	myclass.a = 10; 
	myclass.b = 11; 
	struct sockaddr_un un; 
	
	
	struct myTest2 my ; 
	my.a; 
	myTest mytest; 
	int a = 10;
	int *b; 
	pthread_create(&t1,NULL,count,(void*)&a); 
	std::cout << a << endl;
	pthread_join(t1,(void**)&b); 
	cout << a << endl;
	cout << *b << endl;
}
